Many modern musical instruments include the facility to communicate using music production messages. MIDI is a commonly used music production message. However, other protocols including serial format, Firewire (.TM.) and others may be used for transmission of such messages.
Many musical instruments produce MIDI messages which are communicated on a MIDI cable. These MIDI messages include information indicative of the musical production: including, but not limited to, pitch, length of time of the note, fermata, tone, and the like.
This MIDI information has been produced by the devices producing the music. MIDI has been used as a control for synthesizers and other electronically-controllable musical instruments. One common use of MIDI signals is to control a synthesizer based on musical information output by a musical instrument, e.g. guitar, for example. MIDI has also been used to produce music, e.g computer-generated music where the musical instrument is a computer.
The lighting effect in a musical performance is often an important part of the effect of the performance. The performer choreographs and presents the performance. However, the performer is often too busy to interact with the lighting effect during the performance. It is believed by the inventors that many performers would be interested in controlling and/or synchronizing certain aspects of the performance.
The present invention allows operations from the stage, which operations are part of the performer's usual performance sequence, to control some aspects of the non-musical part of the show, e.g., the lighting operation.
The non-musical production of the show has traditionally been non-MIDI based. One common controlling format is DMX-512 ("DMX"), which time division-multiplexes a number of signals on a common cable. DMX-controlled accessories, such as light shows, curtain raise and drop, and other stage accompaniments to the musical program, have often been manually controlled by an operator. The control is based on events that transpire on the stage.
The inventors of the present invention have recognized that the MIDI information that is produced by the sound part of the show can also be used to control other parts of the show. The production information from the stage can be used as a basis and synchronization cue to make complex decisions about the progression of the parts of the show that have traditionally been non-MIDI based: e.g., manual controls of the time when a lighting effect is started.
In recognition of this capability, it is an object of the present invention to use the MIDI data which has been traditionally used to control some musical aspect of the show, to control certain actions related to the non-musical progression of the show. The preferred embodiment uses instrument monitoring information, e.g., MIDI information, to control aspects of stage lighting for the show. These decisions can include, but are not limited to, synchronization of certain aspects of the lighting effect from the show with MIDI events.
In a preferred embodiment, a show is formed randomly--e.g., a number of songs form the show; but there is no predefined order to the songs. The performers on the stage decide the order of the show.
Each song has its own unique accompaniment which is carried out by the stage lighting operation. The operator controls this accompaniment with a complicated sequence of lighting effects. However, the operator has no idea in advance what song will be played. This has caused practical problems for an operator, e.g., an operator of a light show.
One aspect of this invention uses the computer to investigate MIDI settings to determine a pattern of MIDI settings which suggests which song is going to be played. Various aspects of this operation are used herein. In a particularly preferred embodiment, the group of MIDI settings are compared against a table listing all possible MIDI settings for all songs. When the lists are in agreement by a certain percentage, a decision is made that the entry in the list corresponds to the current song being played. This allows automated detection of the song being played.
The inventor also recognized that it was important to allow some leeway for discrepancies, since it is desirable to recognize the song as quickly as possible. Also, the operators may themselves make mistakes in their MIDI settings. Therefore, another aspect of this system is to allow a fuzzy logic-like determination.
Another desirable feature is to allow some aspect of the light show to be synchronized with some aspect of the musical program. This could be done by manually synchronizing light operation with the musical operation. However, manual synchronization is imprecise, and also requires that the operator very carefully pay attention to the musical program. This interferes with the operator's attention to other duties that may require the operator's attention.
In view of the above, the present invention provides an automated computer system which can carry out this automatic synchronization. According to this aspect of the present invention, a data stream that includes information indicative of the musical program is investigated to determine musical events. Those musical events are used to synchronize some aspect of the non-musical events with the musical events. In a preferred embodiment, notes produced by the instrument produce corresponding MIDI values indicative thereof. Detection of instances in the MIDI stream enables detection of an item in a sequence. In a particularly preferred embodiment, for example, a MIDI value is used to increment the operation to the next cue in a chase.
Another improvement was based on the inventor's recognition that only a part of the MIDI note stream represents the desired synchronization part. Another aspect uses a special filter to determine parts of the MIDI stream to which the operations should be synchronized. This filter looks for a predetermined pattern of MIDI information indicating a predetermined part of the show, and does not initiate an operation until that pattern is received.